home *** CD-ROM | disk | FTP | other *** search
- /* A lexical scanner generated by flex */
-
- /* Scanner skeleton version:
- * $Header: /home/daffy/u0/vern/flex/flex-2.4.7/RCS/flex.skl,v 1.2 94/08/03 11:13:24 vern Exp $
- */
-
- #define FLEX_SCANNER
-
- #include <stdio.h>
-
-
- /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
- #ifdef c_plusplus
- #ifndef __cplusplus
- #define __cplusplus
- #endif
- #endif
-
-
- #ifdef __cplusplus
-
- #include <stdlib.h>
- #include <unistd.h>
-
- /* Use prototypes in function declarations. */
- #define YY_USE_PROTOS
-
- /* The "const" storage-class-modifier is valid. */
- #define YY_USE_CONST
-
- #else /* ! __cplusplus */
-
- #ifdef __STDC__
-
- #define YY_USE_PROTOS
- #define YY_USE_CONST
-
- #endif /* __STDC__ */
- #endif /* ! __cplusplus */
-
-
- #ifdef __TURBOC__
- #define YY_USE_CONST
- #endif
-
-
- #ifndef YY_USE_CONST
- #ifndef const
- #define const
- #endif
- #endif
-
-
- #ifdef YY_USE_PROTOS
- #define YY_PROTO(proto) proto
- #else
- #define YY_PROTO(proto) ()
- #endif
-
- /* Returned upon end-of-file. */
- #define YY_NULL 0
-
- /* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
- #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
- /* Enter a start condition. This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
- #define BEGIN yy_start = 1 + 2 *
-
- /* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.
- */
- #define YY_START ((yy_start - 1) / 2)
-
- /* Action number for EOF rule of a given start state. */
- #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
- /* Special action meaning "start processing a new file". Now included
- * only for backward compatibility with previous versions of flex.
- */
- #define YY_NEW_FILE yyrestart( yyin )
-
- #define YY_END_OF_BUFFER_CHAR 0
-
- /* Size of default input buffer. */
- #define YY_BUF_SIZE 16384
-
- typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
- extern int yyleng;
- extern FILE *yyin, *yyout;
-
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern int yywrap YY_PROTO(( void ));
- #ifdef __cplusplus
- }
- #endif
-
- #define EOB_ACT_CONTINUE_SCAN 0
- #define EOB_ACT_END_OF_FILE 1
- #define EOB_ACT_LAST_MATCH 2
-
- /* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator). This
- * avoids problems with code like:
- *
- * if ( condition_holds )
- * yyless( 5 );
- * else
- * do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
- /* Return all but the first 'n' matched characters back to the input stream. */
-
- #define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- *yy_cp = yy_hold_char; \
- yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up yytext again */ \
- } \
- while ( 0 )
-
- #define unput(c) yyunput( c, yytext_ptr )
-
-
- struct yy_buffer_state
- {
- FILE *yy_input_file;
-
- char *yy_ch_buf; /* input buffer */
- char *yy_buf_pos; /* current position in input buffer */
-
- /* Size of input buffer in bytes, not including room for EOB
- * characters.
- */
- int yy_buf_size;
-
- /* Number of characters read into yy_ch_buf, not including EOB
- * characters.
- */
- int yy_n_chars;
-
- /* Whether this is an "interactive" input source; if so, and
- * if we're using stdio for input, then we want to use getc()
- * instead of fread(), to make sure we stop fetching input after
- * each newline.
- */
- int yy_is_interactive;
-
- /* Whether to try to fill the input buffer when we reach the
- * end of it.
- */
- int yy_fill_buffer;
-
- int yy_buffer_status;
- #define YY_BUFFER_NEW 0
- #define YY_BUFFER_NORMAL 1
- /* When an EOF's been seen but there's still some text to process
- * then we mark the buffer as YY_EOF_PENDING, to indicate that we
- * shouldn't try reading from the input source any more. We might
- * still have a bunch of tokens to match, though, because of
- * possible backing-up.
- *
- * When we actually see the EOF, we change the status to "new"
- * (via yyrestart()), so that the user can continue scanning by
- * just pointing yyin at a new input file.
- */
- #define YY_BUFFER_EOF_PENDING 2
- };
-
- static YY_BUFFER_STATE yy_current_buffer = 0;
-
- /* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
- #define YY_CURRENT_BUFFER yy_current_buffer
-
-
- /* yy_hold_char holds the character lost when yytext is formed. */
- static char yy_hold_char;
-
- static int yy_n_chars; /* number of characters read into yy_ch_buf */
-
-
- int yyleng;
-
- /* Points to current character in buffer. */
- static char *yy_c_buf_p = (char *) 0;
- static int yy_init = 1; /* whether we need to initialize */
- static int yy_start = 0; /* start state number */
-
- /* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin. A bit of a hack ...
- */
- static int yy_did_buffer_switch_on_eof;
-
- static void yyunput YY_PROTO(( int c, char *buf_ptr ));
- void yyrestart YY_PROTO(( FILE *input_file ));
- void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
- void yy_load_buffer_state YY_PROTO(( void ));
- YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
- void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
- void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-
- static int yy_start_stack_ptr = 0;
- static int yy_start_stack_depth = 0;
- static int *yy_start_stack = 0;
- static void yy_push_state YY_PROTO(( int new_state ));
- static void yy_pop_state YY_PROTO(( void ));
- static int yy_top_state YY_PROTO(( void ));
-
- static void *yy_flex_alloc YY_PROTO(( unsigned int ));
- static void *yy_flex_realloc YY_PROTO(( void *, unsigned int ));
- static void yy_flex_free YY_PROTO(( void * ));
-
- #define yy_new_buffer yy_create_buffer
-
- #define INITIAL 0
- #define ini 1
- #define key 2
- #define val 3
- #define etc 4
- typedef unsigned char YY_CHAR;
- typedef int yy_state_type;
- FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
- extern char *yytext;
- #define yytext_ptr yytext
-
- #ifndef yytext_ptr
- static void yy_flex_strncpy YY_PROTO(( char *, const char *, int ));
- #endif
-
- #ifdef __cplusplus
- static int yyinput YY_PROTO(( void ));
- #else
- static int input YY_PROTO(( void ));
- #endif
-
- static yy_state_type yy_get_previous_state YY_PROTO(( void ));
- static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
- static int yy_get_next_buffer YY_PROTO(( void ));
- static void yy_fatal_error YY_PROTO(( const char msg[] ));
-
- /* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
- #define YY_DO_BEFORE_ACTION \
- yytext_ptr = yy_bp; \
- yyleng = yy_cp - yy_bp; \
- yy_hold_char = *yy_cp; \
- *yy_cp = '\0'; \
- yy_c_buf_p = yy_cp;
-
- #define YY_END_OF_BUFFER 108
- static const short int yy_accept[414] =
- { 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 1, 107, 106, 106, 4, 106, 106, 106, 5,
- 6, 7, 106, 106, 106, 101, 106, 68, 69, 101,
- 70, 78, 71, 101, 91, 106, 72, 101, 80, 101,
- 73, 106, 74, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 75, 76, 79, 0, 4, 0,
- 0, 3, 0, 5, 0, 6, 0, 102, 0, 100,
- 0, 0, 83, 84, 0, 0, 86, 0, 0, 0,
- 0, 85, 0, 0, 0, 0, 91, 95, 9, 8,
-
- 0, 96, 91, 0, 0, 77, 101, 101, 81, 82,
- 103, 0, 103, 103, 103, 0, 102, 104, 102, 102,
- 102, 102, 15, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 32, 102, 33, 102,
- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 51, 102, 102, 102, 102, 102, 0,
- 2, 0, 0, 0, 105, 0, 0, 94, 0, 0,
- 93, 0, 92, 98, 0, 0, 0, 8, 95, 0,
- 0, 102, 0, 97, 102, 102, 62, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 24, 102, 102,
-
- 102, 27, 102, 102, 102, 102, 102, 102, 102, 102,
- 38, 102, 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 102, 61, 102,
- 102, 102, 5, 0, 89, 0, 0, 99, 0, 97,
- 0, 95, 0, 0, 96, 102, 102, 102, 102, 102,
- 102, 16, 102, 102, 102, 102, 102, 102, 22, 102,
- 102, 102, 102, 28, 29, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 41, 102, 102, 102,
- 102, 102, 45, 102, 48, 102, 50, 102, 102, 102,
- 102, 102, 0, 87, 88, 0, 95, 11, 102, 12,
-
- 13, 14, 17, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 39, 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 53, 102, 102, 56, 0, 102, 102,
- 102, 102, 60, 21, 23, 102, 102, 59, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 40, 57, 102,
- 102, 102, 102, 102, 46, 47, 102, 52, 102, 102,
- 0, 102, 18, 102, 102, 102, 102, 66, 26, 30,
- 31, 64, 102, 102, 102, 37, 58, 102, 63, 43,
- 67, 102, 102, 102, 55, 0, 10, 19, 20, 102,
-
- 65, 102, 35, 36, 102, 44, 49, 54, 90, 25,
- 34, 42, 0
- } ;
-
- static const int yy_ec[256] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
- 1, 4, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 5, 6, 7, 8, 9, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 22, 22, 22, 22, 22, 23, 23, 24, 25, 26,
- 27, 28, 29, 9, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 44,
- 31, 32, 33, 34, 9, 30, 35, 36, 37, 38,
-
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 44, 60, 61, 62, 63, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1
- } ;
-
- static const int yy_meta[64] =
- { 0,
- 1, 1, 2, 1, 3, 4, 5, 3, 4, 4,
- 6, 3, 3, 4, 4, 3, 7, 3, 4, 8,
- 9, 9, 9, 7, 3, 4, 4, 4, 4, 3,
- 3, 10, 3, 4, 8, 8, 9, 9, 8, 8,
- 7, 7, 7, 7, 7, 7, 7, 11, 7, 7,
- 7, 11, 7, 11, 7, 7, 7, 7, 7, 3,
- 4, 3, 4
- } ;
-
- static const short int yy_base[431] =
- { 0,
- 1119, 1118, 1117, 0, 1116, 1110, 1114, 1113, 59, 0,
- 1115, 1123, 1123, 1123, 4, 1123, 1108, 1089, 1109, 8,
- 10, 1123, 117, 117, 174, 0, 1079, 1123, 1123, 0,
- 1123, 6, 10, 111, 227, 123, 1123, 1083, 101, 1082,
- 1123, 281, 1123, 153, 158, 166, 109, 265, 159, 155,
- 160, 211, 1084, 161, 164, 167, 268, 168, 200, 273,
- 275, 277, 286, 201, 1123, 1123, 1080, 14, 1123, 1103,
- 1081, 1123, 1101, 191, 225, 329, 0, 1079, 295, 1123,
- 0, 307, 1123, 1123, 1056, 121, 1123, 1062, 1061, 315,
- 1060, 1123, 0, 1087, 0, 325, 331, 335, 1123, 0,
-
- 341, 375, 0, 428, 385, 1123, 1123, 0, 0, 0,
- 1123, 1070, 1069, 1068, 1067, 1066, 1068, 1123, 319, 214,
- 336, 292, 1067, 279, 351, 302, 342, 280, 314, 347,
- 341, 363, 205, 377, 379, 388, 1066, 359, 368, 228,
- 398, 270, 197, 399, 380, 391, 393, 401, 464, 468,
- 469, 395, 400, 1065, 470, 422, 408, 471, 466, 1085,
- 1123, 1084, 494, 493, 1123, 0, 1040, 438, 1026, 1026,
- 484, 1030, 0, 1123, 1071, 511, 520, 0, 524, 533,
- 577, 1057, 499, 537, 474, 484, 1056, 486, 478, 512,
- 527, 515, 163, 528, 537, 545, 540, 1055, 556, 552,
-
- 543, 1054, 546, 560, 550, 584, 566, 585, 569, 586,
- 1053, 589, 592, 588, 590, 594, 593, 477, 597, 596,
- 595, 602, 610, 604, 609, 605, 612, 611, 1052, 613,
- 615, 628, 655, 1058, 1123, 1020, 1019, 1123, 641, 645,
- 650, 655, 664, 668, 672, 1048, 658, 631, 656, 672,
- 396, 1047, 674, 675, 676, 677, 678, 682, 679, 683,
- 681, 685, 688, 1046, 1045, 686, 689, 687, 690, 684,
- 702, 692, 719, 700, 696, 701, 1044, 697, 720, 724,
- 726, 727, 728, 729, 1043, 731, 1041, 732, 733, 734,
- 736, 737, 1016, 1123, 1123, 760, 766, 1036, 740, 1032,
-
- 1030, 1029, 1018, 738, 760, 766, 768, 770, 771, 744,
- 772, 748, 754, 773, 779, 750, 781, 782, 791, 788,
- 789, 1014, 790, 793, 795, 796, 797, 798, 799, 801,
- 802, 803, 805, 1012, 623, 807, 997, 980, 809, 810,
- 811, 819, 994, 983, 969, 812, 820, 965, 821, 824,
- 823, 964, 829, 826, 833, 838, 840, 957, 932, 842,
- 893, 844, 890, 847, 888, 887, 848, 885, 846, 849,
- 849, 850, 876, 854, 853, 857, 747, 1123, 741, 694,
- 693, 1123, 855, 858, 860, 691, 551, 863, 1123, 549,
- 1123, 864, 865, 866, 547, 460, 487, 483, 405, 867,
-
- 1123, 872, 352, 316, 874, 269, 216, 207, 1123, 111,
- 10, 1, 1123, 919, 930, 941, 946, 957, 966, 975,
- 983, 994, 1005, 1012, 1021, 1025, 1029, 1040, 1047, 1055
- } ;
-
- static const short int yy_def[431] =
- { 0,
- 414, 414, 415, 415, 415, 4, 416, 416, 413, 9,
- 413, 413, 413, 413, 413, 413, 413, 417, 418, 413,
- 413, 413, 413, 419, 413, 23, 420, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 23, 23, 23,
- 413, 413, 413, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 413, 413, 413, 413, 413, 422,
- 417, 413, 418, 413, 423, 413, 23, 421, 419, 413,
- 424, 425, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 426, 413, 427, 413, 413, 413, 413, 428,
-
- 35, 413, 35, 413, 104, 413, 413, 23, 23, 23,
- 413, 413, 413, 413, 413, 413, 421, 413, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 422,
- 413, 423, 423, 425, 413, 429, 413, 413, 413, 413,
- 413, 413, 426, 413, 413, 413, 413, 428, 413, 413,
- 101, 430, 181, 181, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
-
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 430, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 413, 413, 413, 413, 413, 421, 421, 421,
-
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 413, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 413, 421, 421, 421, 421, 421, 421, 413, 421, 421,
- 421, 413, 421, 421, 421, 421, 421, 421, 413, 421,
- 413, 421, 421, 421, 421, 413, 421, 421, 421, 421,
-
- 413, 421, 421, 421, 421, 421, 421, 421, 413, 421,
- 421, 421, 0, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413
- } ;
-
- static const short int yy_nxt[1187] =
- { 0,
- 413, 15, 16, 413, 15, 68, 69, 17, 68, 75,
- 413, 76, 75, 76, 76, 68, 69, 96, 68, 97,
- 97, 97, 97, 96, 118, 97, 97, 97, 97, 98,
- 98, 98, 98, 118, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 14,
- 21, 22, 21, 21, 23, 24, 25, 23, 26, 27,
- 28, 29, 26, 30, 31, 32, 33, 34, 35, 35,
- 35, 35, 36, 37, 38, 39, 40, 14, 14, 41,
- 42, 43, 26, 44, 45, 46, 47, 48, 49, 50,
-
- 51, 52, 53, 54, 55, 56, 53, 57, 58, 53,
- 59, 60, 61, 62, 63, 64, 53, 53, 65, 26,
- 66, 67, 77, 80, 99, 77, 77, 109, 110, 100,
- 77, 77, 118, 77, 118, 77, 77, 77, 77, 77,
- 168, 168, 77, 77, 77, 77, 106, 128, 81, 107,
- 77, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 118, 77, 118, 77,
- 82, 118, 118, 118, 118, 83, 118, 118, 119, 118,
- 118, 118, 75, 135, 136, 75, 121, 254, 120, 140,
-
- 124, 132, 141, 122, 84, 144, 142, 133, 85, 86,
- 134, 125, 143, 87, 126, 145, 123, 127, 88, 148,
- 118, 89, 90, 118, 118, 91, 163, 92, 118, 163,
- 118, 93, 101, 213, 118, 101, 101, 118, 149, 118,
- 101, 101, 159, 101, 102, 101, 103, 103, 103, 103,
- 137, 118, 101, 101, 101, 101, 202, 138, 139, 187,
- 101, 104, 104, 104, 105, 105, 104, 104, 104, 104,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 105,
- 104, 104, 104, 104, 105, 104, 210, 101, 118, 101,
- 111, 118, 118, 118, 111, 111, 118, 111, 118, 111,
-
- 118, 80, 118, 118, 112, 212, 113, 114, 115, 118,
- 129, 150, 130, 165, 111, 118, 153, 146, 151, 196,
- 157, 147, 131, 154, 155, 118, 81, 152, 158, 156,
- 76, 191, 76, 76, 171, 171, 171, 118, 166, 118,
- 190, 111, 118, 116, 98, 98, 98, 98, 102, 194,
- 97, 97, 97, 97, 98, 98, 98, 98, 413, 118,
- 101, 101, 101, 101, 118, 118, 197, 185, 176, 176,
- 118, 186, 177, 177, 118, 118, 188, 199, 104, 104,
- 195, 189, 118, 176, 198, 192, 118, 177, 176, 193,
- 200, 118, 177, 104, 179, 179, 179, 179, 104, 183,
-
- 118, 183, 118, 118, 184, 184, 184, 184, 207, 208,
- 201, 118, 180, 180, 118, 203, 118, 215, 118, 118,
- 209, 118, 118, 118, 118, 204, 205, 180, 118, 216,
- 225, 118, 180, 181, 217, 206, 181, 181, 226, 218,
- 302, 181, 181, 219, 181, 118, 181, 181, 181, 181,
- 181, 211, 214, 181, 181, 181, 181, 168, 168, 230,
- 229, 181, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 118, 181, 118,
- 181, 118, 118, 118, 118, 163, 233, 118, 163, 165,
-
- 118, 118, 222, 171, 171, 171, 118, 118, 232, 118,
- 118, 220, 409, 223, 221, 227, 279, 224, 184, 184,
- 184, 184, 231, 228, 166, 239, 250, 239, 249, 247,
- 240, 240, 240, 240, 241, 118, 241, 248, 118, 242,
- 242, 242, 242, 179, 179, 179, 179, 244, 251, 244,
- 118, 118, 245, 245, 245, 245, 184, 184, 184, 184,
- 118, 243, 243, 118, 255, 252, 118, 253, 118, 118,
- 118, 257, 118, 118, 118, 118, 243, 263, 259, 118,
- 256, 243, 181, 118, 264, 181, 181, 258, 266, 118,
- 181, 181, 118, 181, 260, 181, 181, 181, 181, 181,
-
- 262, 261, 181, 181, 181, 181, 265, 118, 118, 118,
- 181, 118, 118, 118, 268, 118, 118, 118, 118, 118,
- 118, 267, 270, 269, 271, 118, 274, 118, 118, 275,
- 281, 278, 118, 118, 118, 118, 118, 181, 118, 181,
- 273, 277, 272, 280, 276, 286, 118, 283, 284, 282,
- 288, 118, 287, 289, 118, 290, 75, 285, 369, 75,
- 240, 240, 240, 240, 240, 240, 240, 240, 291, 242,
- 242, 242, 242, 292, 242, 242, 242, 242, 296, 118,
- 296, 118, 299, 297, 297, 297, 297, 245, 245, 245,
- 245, 245, 245, 245, 245, 118, 298, 118, 118, 118,
-
- 118, 118, 118, 300, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 318, 118,
- 118, 309, 304, 118, 118, 118, 303, 305, 301, 308,
- 306, 307, 310, 313, 315, 311, 312, 314, 316, 319,
- 320, 317, 118, 118, 323, 322, 324, 118, 325, 118,
- 118, 118, 118, 321, 118, 118, 118, 118, 327, 118,
- 118, 118, 326, 118, 118, 331, 330, 118, 335, 329,
- 401, 118, 328, 118, 339, 337, 332, 118, 334, 297,
- 297, 297, 297, 118, 333, 297, 297, 297, 297, 118,
- 336, 118, 340, 118, 118, 118, 118, 346, 341, 349,
-
- 342, 348, 118, 352, 118, 118, 343, 355, 344, 347,
- 345, 118, 118, 118, 118, 350, 118, 351, 118, 118,
- 118, 118, 118, 353, 118, 118, 118, 358, 118, 354,
- 118, 359, 118, 118, 118, 118, 363, 367, 365, 356,
- 357, 370, 118, 118, 118, 372, 118, 118, 362, 118,
- 364, 360, 118, 361, 376, 366, 118, 368, 377, 373,
- 380, 118, 384, 118, 374, 118, 375, 118, 385, 118,
- 118, 118, 118, 118, 381, 386, 118, 118, 118, 379,
- 118, 118, 383, 118, 388, 392, 118, 118, 118, 118,
- 118, 394, 398, 402, 395, 118, 403, 118, 387, 118,
-
- 393, 406, 390, 397, 408, 400, 399, 396, 118, 411,
- 118, 118, 412, 391, 410, 405, 389, 407, 404, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 19, 71, 71, 71, 118, 71, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 79, 79,
- 79, 79, 79, 79, 79, 79, 79, 94, 94, 94,
- 118, 94, 94, 94, 94, 94, 117, 382, 378, 117,
- 117, 117, 118, 117, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 162, 118, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 79, 118, 371, 79,
- 118, 79, 79, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 173, 173, 175, 118, 175, 118, 175, 175,
- 178, 118, 178, 178, 178, 178, 178, 178, 178, 178,
- 178, 164, 118, 118, 164, 118, 164, 164, 246, 118,
- 338, 246, 246, 246, 118, 246, 118, 118, 118, 118,
- 118, 118, 295, 294, 293, 118, 118, 118, 118, 118,
- 118, 238, 237, 236, 235, 234, 233, 161, 118, 118,
- 118, 118, 111, 111, 111, 111, 111, 174, 172, 170,
-
- 169, 167, 118, 74, 72, 161, 107, 118, 108, 108,
- 95, 74, 72, 70, 413, 20, 20, 14, 13, 13,
- 13, 13, 11, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413
- } ;
-
- static const short int yy_chk[1187] =
- { 0,
- 0, 4, 4, 0, 4, 15, 15, 4, 15, 20,
- 0, 21, 20, 21, 21, 68, 68, 30, 68, 30,
- 30, 30, 30, 32, 412, 32, 32, 32, 32, 33,
- 33, 33, 33, 411, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
-
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 23, 24, 34, 23, 23, 39, 39, 34,
- 23, 23, 47, 23, 410, 23, 23, 23, 23, 23,
- 86, 86, 23, 23, 23, 23, 36, 47, 24, 36,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 44, 23, 50, 23,
- 25, 45, 49, 51, 54, 25, 193, 55, 44, 46,
- 56, 58, 74, 50, 51, 74, 45, 193, 44, 54,
-
- 46, 49, 55, 45, 25, 56, 55, 49, 25, 25,
- 49, 46, 55, 25, 46, 56, 45, 46, 25, 58,
- 143, 25, 25, 59, 64, 25, 75, 25, 133, 75,
- 408, 25, 35, 143, 52, 35, 35, 120, 59, 407,
- 35, 35, 64, 35, 35, 35, 35, 35, 35, 35,
- 52, 140, 35, 35, 35, 35, 133, 52, 52, 120,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 140, 35, 48, 35,
- 42, 57, 406, 142, 42, 42, 60, 42, 61, 42,
-
- 62, 79, 124, 128, 42, 142, 42, 42, 42, 63,
- 48, 60, 48, 82, 42, 122, 61, 57, 60, 128,
- 63, 57, 48, 61, 62, 126, 79, 60, 63, 62,
- 76, 124, 76, 76, 90, 90, 90, 129, 82, 404,
- 122, 42, 119, 42, 96, 96, 96, 96, 97, 126,
- 97, 97, 97, 97, 98, 98, 98, 98, 101, 121,
- 101, 101, 101, 101, 131, 127, 129, 119, 97, 97,
- 130, 119, 98, 98, 125, 403, 121, 131, 101, 101,
- 127, 121, 138, 97, 130, 125, 132, 98, 97, 125,
- 131, 139, 98, 101, 102, 102, 102, 102, 101, 105,
-
- 134, 105, 135, 145, 105, 105, 105, 105, 138, 139,
- 132, 136, 102, 102, 146, 134, 147, 145, 152, 251,
- 139, 141, 144, 153, 148, 134, 135, 102, 399, 146,
- 152, 157, 102, 104, 147, 136, 104, 104, 153, 148,
- 251, 104, 104, 148, 104, 156, 104, 104, 104, 104,
- 104, 141, 144, 104, 104, 104, 104, 168, 168, 157,
- 156, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 104, 104, 104, 104, 104, 104, 104, 149, 104, 159,
- 104, 150, 151, 155, 158, 163, 163, 185, 163, 164,
-
- 218, 189, 150, 171, 171, 171, 398, 186, 159, 188,
- 397, 149, 396, 150, 149, 155, 218, 151, 183, 183,
- 183, 183, 158, 155, 164, 176, 189, 176, 188, 185,
- 176, 176, 176, 176, 177, 190, 177, 186, 192, 177,
- 177, 177, 177, 179, 179, 179, 179, 180, 190, 180,
- 191, 194, 180, 180, 180, 180, 184, 184, 184, 184,
- 195, 179, 179, 197, 194, 191, 201, 192, 196, 203,
- 395, 195, 390, 205, 387, 200, 179, 201, 197, 199,
- 194, 179, 181, 204, 203, 181, 181, 196, 205, 207,
- 181, 181, 209, 181, 199, 181, 181, 181, 181, 181,
-
- 200, 199, 181, 181, 181, 181, 204, 206, 208, 210,
- 181, 214, 212, 215, 207, 213, 217, 216, 221, 220,
- 219, 206, 209, 208, 210, 222, 213, 224, 226, 214,
- 220, 217, 225, 223, 228, 227, 230, 181, 231, 181,
- 212, 216, 210, 219, 215, 225, 335, 222, 223, 221,
- 227, 232, 226, 228, 248, 230, 233, 224, 335, 233,
- 239, 239, 239, 239, 240, 240, 240, 240, 231, 241,
- 241, 241, 241, 232, 242, 242, 242, 242, 243, 249,
- 243, 247, 248, 243, 243, 243, 243, 244, 244, 244,
- 244, 245, 245, 245, 245, 250, 247, 253, 254, 255,
-
- 256, 257, 259, 249, 261, 258, 260, 270, 262, 266,
- 268, 263, 267, 269, 386, 272, 381, 380, 270, 275,
- 278, 259, 254, 274, 276, 271, 253, 255, 250, 258,
- 256, 257, 260, 263, 267, 261, 262, 266, 268, 271,
- 272, 269, 273, 279, 275, 274, 276, 280, 278, 281,
- 282, 283, 284, 273, 286, 288, 289, 290, 280, 291,
- 292, 304, 279, 299, 379, 284, 283, 310, 290, 282,
- 377, 312, 281, 316, 299, 292, 286, 313, 289, 296,
- 296, 296, 296, 305, 288, 297, 297, 297, 297, 306,
- 291, 307, 304, 308, 309, 311, 314, 310, 305, 313,
-
- 306, 312, 315, 316, 317, 318, 307, 319, 308, 311,
- 309, 320, 321, 323, 319, 314, 324, 315, 325, 326,
- 327, 328, 329, 317, 330, 331, 332, 323, 333, 318,
- 336, 324, 339, 340, 341, 346, 328, 332, 330, 320,
- 321, 336, 342, 347, 349, 339, 351, 350, 327, 354,
- 329, 325, 353, 326, 346, 331, 355, 333, 347, 340,
- 350, 356, 354, 357, 341, 360, 342, 362, 355, 369,
- 364, 367, 370, 372, 351, 356, 375, 374, 383, 349,
- 376, 384, 353, 385, 360, 364, 388, 392, 393, 394,
- 400, 369, 374, 383, 370, 402, 384, 405, 357, 373,
-
- 367, 392, 362, 372, 394, 376, 375, 371, 368, 402,
- 366, 365, 405, 363, 400, 388, 361, 393, 385, 414,
- 414, 414, 414, 414, 414, 414, 414, 414, 414, 414,
- 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
- 415, 416, 416, 416, 416, 416, 416, 416, 416, 416,
- 416, 416, 417, 417, 417, 359, 417, 418, 418, 418,
- 418, 418, 418, 418, 418, 418, 418, 418, 419, 419,
- 419, 419, 419, 419, 419, 419, 419, 420, 420, 420,
- 358, 420, 420, 420, 420, 420, 421, 352, 348, 421,
- 421, 421, 345, 421, 422, 422, 422, 422, 422, 422,
-
- 422, 422, 422, 422, 422, 423, 344, 423, 423, 423,
- 423, 423, 423, 423, 423, 423, 424, 343, 338, 424,
- 337, 424, 424, 425, 425, 425, 425, 425, 425, 425,
- 425, 425, 426, 426, 427, 334, 427, 322, 427, 427,
- 428, 303, 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 429, 302, 301, 429, 300, 429, 429, 430, 298,
- 293, 430, 430, 430, 287, 430, 285, 277, 265, 264,
- 252, 246, 237, 236, 234, 229, 211, 202, 198, 187,
- 182, 175, 172, 170, 169, 167, 162, 160, 154, 137,
- 123, 117, 116, 115, 114, 113, 112, 94, 91, 89,
-
- 88, 85, 78, 73, 71, 70, 67, 53, 40, 38,
- 27, 19, 18, 17, 11, 8, 7, 6, 5, 3,
- 2, 1, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413
- } ;
-
- static yy_state_type yy_last_accepting_state;
- static char *yy_last_accepting_cpos;
-
- /* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
- #define REJECT reject_used_but_not_detected
- #define yymore() yymore_used_but_not_detected
- #define YY_MORE_ADJ 0
- char *yytext;
- # line 1 "../../mindy-1.x/comp/lexer.l"
- # line 2 "../../mindy-1.x/comp/lexer.l"
- /**********************************************************************\
- *
- * Copyright (c) 1994 Carnegie Mellon University
- * All rights reserved.
- *
- * Use and copying of this software and preparation of derivative
- * works based on this software are permitted, including commercial
- * use, provided that the following conditions are observed:
- *
- * 1. This copyright notice must be retained in full on any copies
- * and on appropriate parts of any derivative works.
- * 2. Documentation (paper or online) accompanying any system that
- * incorporates this software, or any part of it, must acknowledge
- * the contribution of the Gwydion Project at Carnegie Mellon
- * University.
- *
- * This software is made available "as is". Neither the authors nor
- * Carnegie Mellon University make any warranty about the software,
- * its performance, or its conformity to any specification.
- *
- * Bug reports, questions, comments, and suggestions should be sent by
- * E-mail to the Internet address "gwydion-bugs@cs.cmu.edu".
- *
- ***********************************************************************
- *
- * $Header: lexer.l,v 1.12 94/10/05 20:55:19 nkramer Exp $
- *
- * This file is the lexical analizer.
- *
- \**********************************************************************/
-
- #include <stdio.h>
- #include "lexer.h"
- #include "src.h"
- #include "parser.tab.h"
-
- extern int isatty();
- extern void warn();
-
- int line_count = 1;
-
- #define is(type) return (yylval.token = make_token(yytext, yyleng)), type;
-
- static void skip_multi_line_comment(void);
- static int make_header_key(void);
- static int make_header_val(void);
- static int make_header_end(void);
-
-
- /* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
- #ifdef YY_MALLOC_DECL
- YY_MALLOC_DECL
- #else
- #if __STDC__
- #ifndef __cplusplus
- #include <stdlib.h>
- #endif
- #else
- /* Just try to get by without declaring the routines. This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
- #endif
- #endif
-
- /* Amount of stuff to slurp up with each read. */
- #ifndef YY_READ_BUF_SIZE
- #define YY_READ_BUF_SIZE 8192
- #endif
-
- /* Copy whatever the last rule matched to the standard output. */
-
- #ifndef ECHO
- /* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
- #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
- #endif
-
- /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
- * is returned in "result".
- */
- #ifndef YY_INPUT
- #define YY_INPUT(buf,result,max_size) \
- if ( yy_current_buffer->yy_is_interactive ) \
- { \
- int c = getc( yyin ); \
- result = c == EOF ? 0 : 1; \
- buf[0] = (char) c; \
- } \
- else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
- && ferror( yyin ) ) \
- YY_FATAL_ERROR( "input in flex scanner failed" );
- #endif
-
- /* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
- #ifndef yyterminate
- #define yyterminate() return YY_NULL
- #endif
-
- /* Number of entries by which start-condition stack grows. */
- #ifndef YY_START_STACK_INCR
- #define YY_START_STACK_INCR 25
- #endif
-
- /* Report a fatal error. */
- #ifndef YY_FATAL_ERROR
- #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
- #endif
-
- /* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
- #ifndef YY_DECL
- #define YY_DECL int yylex YY_PROTO(( void ))
- #endif
-
- /* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
- #ifndef YY_USER_ACTION
- #define YY_USER_ACTION
- #endif
-
- /* Code executed at the end of each rule. */
- #ifndef YY_BREAK
- #define YY_BREAK break;
- #endif
-
- YY_DECL
- {
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
-
- # line 70 "../../mindy-1.x/comp/lexer.l"
-
-
-
- if ( yy_init )
- {
- #ifdef YY_USER_INIT
- YY_USER_INIT;
- #endif
-
- if ( ! yy_start )
- yy_start = 1; /* first start state */
-
- if ( ! yyin )
- yyin = stdin;
-
- if ( ! yyout )
- yyout = stdout;
-
- if ( yy_current_buffer )
- yy_init_buffer( yy_current_buffer, yyin );
- else
- yy_current_buffer =
- yy_create_buffer( yyin, YY_BUF_SIZE );
-
- yy_load_buffer_state();
-
- yy_init = 0;
- }
-
- while ( 1 ) /* loops until end-of-file is reached */
- {
- yy_cp = yy_c_buf_p;
-
- /* Support of yytext. */
- *yy_cp = yy_hold_char;
-
- /* yy_bp points to the position in yy_ch_buf of the start of
- * the current run.
- */
- yy_bp = yy_cp;
-
- yy_current_state = yy_start;
- if ( yy_bp[-1] == '\n' )
- ++yy_current_state;
- yy_match:
- do
- {
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 414 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- ++yy_cp;
- }
- while ( yy_base[yy_current_state] != 1123 );
-
- yy_find_action:
- yy_act = yy_accept[yy_current_state];
-
- YY_DO_BEFORE_ACTION;
-
-
- do_action: /* This label is used only to access EOF actions. */
-
-
- switch ( yy_act )
- { /* beginning of action switch */
- case 0: /* must back up */
- /* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
- goto yy_find_action;
-
- case 1:
- YY_USER_ACTION
- # line 72 "../../mindy-1.x/comp/lexer.l"
- BEGIN(ini); yyless(0);
- YY_BREAK
- case 2:
- YY_USER_ACTION
- # line 74 "../../mindy-1.x/comp/lexer.l"
- BEGIN(key); warn(line_count, "igoring initial #! interpreter comment\n"); line_count++;
- YY_BREAK
- case 3:
- YY_USER_ACTION
- # line 76 "../../mindy-1.x/comp/lexer.l"
- BEGIN(val); return make_header_key();
- YY_BREAK
- case 4:
- YY_USER_ACTION
- # line 77 "../../mindy-1.x/comp/lexer.l"
- BEGIN(etc); return make_header_end();
- YY_BREAK
- case 5:
- YY_USER_ACTION
- # line 79 "../../mindy-1.x/comp/lexer.l"
- BEGIN(key); return make_header_val();
- YY_BREAK
- case 6:
- YY_USER_ACTION
- # line 81 "../../mindy-1.x/comp/lexer.l"
- ;
- YY_BREAK
- case 7:
- YY_USER_ACTION
- # line 82 "../../mindy-1.x/comp/lexer.l"
- line_count++;
- YY_BREAK
- case 8:
- YY_USER_ACTION
- # line 84 "../../mindy-1.x/comp/lexer.l"
- ;
- YY_BREAK
- case 9:
- YY_USER_ACTION
- # line 85 "../../mindy-1.x/comp/lexer.l"
- skip_multi_line_comment();
- YY_BREAK
- case 10:
- YY_USER_ACTION
- # line 87 "../../mindy-1.x/comp/lexer.l"
- is(ABSTRACT);
- YY_BREAK
- case 11:
- YY_USER_ACTION
- # line 88 "../../mindy-1.x/comp/lexer.l"
- is(ABOVE);
- YY_BREAK
- case 12:
- YY_USER_ACTION
- # line 89 "../../mindy-1.x/comp/lexer.l"
- is(DBEGIN);
- YY_BREAK
- case 13:
- YY_USER_ACTION
- # line 90 "../../mindy-1.x/comp/lexer.l"
- is(BELOW);
- YY_BREAK
- case 14:
- YY_USER_ACTION
- # line 91 "../../mindy-1.x/comp/lexer.l"
- is(BLOCK);
- YY_BREAK
- case 15:
- YY_USER_ACTION
- # line 92 "../../mindy-1.x/comp/lexer.l"
- is(BY);
- YY_BREAK
- case 16:
- YY_USER_ACTION
- # line 93 "../../mindy-1.x/comp/lexer.l"
- is(CASE);
- YY_BREAK
- case 17:
- YY_USER_ACTION
- # line 94 "../../mindy-1.x/comp/lexer.l"
- is(CLASS);
- YY_BREAK
- case 18:
- YY_USER_ACTION
- # line 95 "../../mindy-1.x/comp/lexer.l"
- is(CLEANUP);
- YY_BREAK
- case 19:
- YY_USER_ACTION
- # line 96 "../../mindy-1.x/comp/lexer.l"
- is(CONCRETE);
- YY_BREAK
- case 20:
- YY_USER_ACTION
- # line 97 "../../mindy-1.x/comp/lexer.l"
- is(CONSTANT);
- YY_BREAK
- case 21:
- YY_USER_ACTION
- # line 98 "../../mindy-1.x/comp/lexer.l"
- is(DEFINE);
- YY_BREAK
- case 22:
- YY_USER_ACTION
- # line 99 "../../mindy-1.x/comp/lexer.l"
- is(ELSE);
- YY_BREAK
- case 23:
- YY_USER_ACTION
- # line 100 "../../mindy-1.x/comp/lexer.l"
- is(ELSEIF);
- YY_BREAK
- case 24:
- YY_USER_ACTION
- # line 101 "../../mindy-1.x/comp/lexer.l"
- is(END);
- YY_BREAK
- case 25:
- YY_USER_ACTION
- # line 102 "../../mindy-1.x/comp/lexer.l"
- is(EXCEPTION);
- YY_BREAK
- case 26:
- YY_USER_ACTION
- # line 103 "../../mindy-1.x/comp/lexer.l"
- is(FINALLY);
- YY_BREAK
- case 27:
- YY_USER_ACTION
- # line 104 "../../mindy-1.x/comp/lexer.l"
- is(FOR);
- YY_BREAK
- case 28:
- YY_USER_ACTION
- # line 105 "../../mindy-1.x/comp/lexer.l"
- is(FREE);
- YY_BREAK
- case 29:
- YY_USER_ACTION
- # line 106 "../../mindy-1.x/comp/lexer.l"
- is(FROM);
- YY_BREAK
- case 30:
- YY_USER_ACTION
- # line 107 "../../mindy-1.x/comp/lexer.l"
- is(GENERIC);
- YY_BREAK
- case 31:
- YY_USER_ACTION
- # line 108 "../../mindy-1.x/comp/lexer.l"
- is(HANDLER);
- YY_BREAK
- case 32:
- YY_USER_ACTION
- # line 109 "../../mindy-1.x/comp/lexer.l"
- is(IF);
- YY_BREAK
- case 33:
- YY_USER_ACTION
- # line 110 "../../mindy-1.x/comp/lexer.l"
- is(IN);
- YY_BREAK
- case 34:
- YY_USER_ACTION
- # line 111 "../../mindy-1.x/comp/lexer.l"
- is(INHERITED);
- YY_BREAK
- case 35:
- YY_USER_ACTION
- # line 112 "../../mindy-1.x/comp/lexer.l"
- is(INSTANCE);
- YY_BREAK
- case 36:
- YY_USER_ACTION
- # line 113 "../../mindy-1.x/comp/lexer.l"
- is(KEYED_BY);
- YY_BREAK
- case 37:
- YY_USER_ACTION
- # line 114 "../../mindy-1.x/comp/lexer.l"
- is(KEYWORD_RESERVED_WORD);
- YY_BREAK
- case 38:
- YY_USER_ACTION
- # line 115 "../../mindy-1.x/comp/lexer.l"
- is(LET);
- YY_BREAK
- case 39:
- YY_USER_ACTION
- # line 116 "../../mindy-1.x/comp/lexer.l"
- is(LOCAL);
- YY_BREAK
- case 40:
- YY_USER_ACTION
- # line 117 "../../mindy-1.x/comp/lexer.l"
- is(METHOD);
- YY_BREAK
- case 41:
- YY_USER_ACTION
- # line 118 "../../mindy-1.x/comp/lexer.l"
- is(OPEN);
- YY_BREAK
- case 42:
- YY_USER_ACTION
- # line 119 "../../mindy-1.x/comp/lexer.l"
- is(OTHERWISE);
- YY_BREAK
- case 43:
- YY_USER_ACTION
- # line 120 "../../mindy-1.x/comp/lexer.l"
- is(PRIMARY);
- YY_BREAK
- case 44:
- YY_USER_ACTION
- # line 121 "../../mindy-1.x/comp/lexer.l"
- is(REQUIRED);
- YY_BREAK
- case 45:
- YY_USER_ACTION
- # line 122 "../../mindy-1.x/comp/lexer.l"
- is(SEAL);
- YY_BREAK
- case 46:
- YY_USER_ACTION
- # line 123 "../../mindy-1.x/comp/lexer.l"
- is(SEALED);
- YY_BREAK
- case 47:
- YY_USER_ACTION
- # line 124 "../../mindy-1.x/comp/lexer.l"
- is(SELECT);
- YY_BREAK
- case 48:
- YY_USER_ACTION
- # line 125 "../../mindy-1.x/comp/lexer.l"
- is(SLOT);
- YY_BREAK
- case 49:
- YY_USER_ACTION
- # line 126 "../../mindy-1.x/comp/lexer.l"
- is(SUBCLASS);
- YY_BREAK
- case 50:
- YY_USER_ACTION
- # line 127 "../../mindy-1.x/comp/lexer.l"
- is(THEN);
- YY_BREAK
- case 51:
- YY_USER_ACTION
- # line 128 "../../mindy-1.x/comp/lexer.l"
- is(TO);
- YY_BREAK
- case 52:
- YY_USER_ACTION
- # line 129 "../../mindy-1.x/comp/lexer.l"
- is(UNLESS);
- YY_BREAK
- case 53:
- YY_USER_ACTION
- # line 130 "../../mindy-1.x/comp/lexer.l"
- is(UNTIL);
- YY_BREAK
- case 54:
- YY_USER_ACTION
- # line 131 "../../mindy-1.x/comp/lexer.l"
- is(VARIABLE);
- YY_BREAK
- case 55:
- YY_USER_ACTION
- # line 132 "../../mindy-1.x/comp/lexer.l"
- is(VIRTUAL);
- YY_BREAK
- case 56:
- YY_USER_ACTION
- # line 133 "../../mindy-1.x/comp/lexer.l"
- is(WHILE);
- YY_BREAK
- case 57:
- YY_USER_ACTION
- # line 135 "../../mindy-1.x/comp/lexer.l"
- is(MODULE);
- YY_BREAK
- case 58:
- YY_USER_ACTION
- # line 136 "../../mindy-1.x/comp/lexer.l"
- is(LIBRARY);
- YY_BREAK
- case 59:
- YY_USER_ACTION
- # line 137 "../../mindy-1.x/comp/lexer.l"
- is(EXPORT);
- YY_BREAK
- case 60:
- YY_USER_ACTION
- # line 138 "../../mindy-1.x/comp/lexer.l"
- is(CREATE);
- YY_BREAK
- case 61:
- YY_USER_ACTION
- # line 139 "../../mindy-1.x/comp/lexer.l"
- is(USE);
- YY_BREAK
- case 62:
- YY_USER_ACTION
- # line 140 "../../mindy-1.x/comp/lexer.l"
- is(ALL);
- YY_BREAK
- case 63:
- YY_USER_ACTION
- # line 142 "../../mindy-1.x/comp/lexer.l"
- is(PREFIX_OPTION);
- YY_BREAK
- case 64:
- YY_USER_ACTION
- # line 143 "../../mindy-1.x/comp/lexer.l"
- is(IMPORT_OPTION);
- YY_BREAK
- case 65:
- YY_USER_ACTION
- # line 144 "../../mindy-1.x/comp/lexer.l"
- is(EXCLUDE_OPTION);
- YY_BREAK
- case 66:
- YY_USER_ACTION
- # line 145 "../../mindy-1.x/comp/lexer.l"
- is(EXPORT_OPTION);
- YY_BREAK
- case 67:
- YY_USER_ACTION
- # line 146 "../../mindy-1.x/comp/lexer.l"
- is(RENAME_OPTION);
- YY_BREAK
- case 68:
- YY_USER_ACTION
- # line 148 "../../mindy-1.x/comp/lexer.l"
- is(LPAREN);
- YY_BREAK
- case 69:
- YY_USER_ACTION
- # line 149 "../../mindy-1.x/comp/lexer.l"
- is(RPAREN);
- YY_BREAK
- case 70:
- YY_USER_ACTION
- # line 150 "../../mindy-1.x/comp/lexer.l"
- is(COMMA);
- YY_BREAK
- case 71:
- YY_USER_ACTION
- # line 151 "../../mindy-1.x/comp/lexer.l"
- is(DOT);
- YY_BREAK
- case 72:
- YY_USER_ACTION
- # line 152 "../../mindy-1.x/comp/lexer.l"
- is(SEMI);
- YY_BREAK
- case 73:
- YY_USER_ACTION
- # line 153 "../../mindy-1.x/comp/lexer.l"
- is(LBRACKET);
- YY_BREAK
- case 74:
- YY_USER_ACTION
- # line 154 "../../mindy-1.x/comp/lexer.l"
- is(RBRACKET);
- YY_BREAK
- case 75:
- YY_USER_ACTION
- # line 155 "../../mindy-1.x/comp/lexer.l"
- is(LBRACE);
- YY_BREAK
- case 76:
- YY_USER_ACTION
- # line 156 "../../mindy-1.x/comp/lexer.l"
- is(RBRACE);
- YY_BREAK
- case 77:
- YY_USER_ACTION
- # line 157 "../../mindy-1.x/comp/lexer.l"
- is(COLON_COLON);
- YY_BREAK
- case 78:
- YY_USER_ACTION
- # line 158 "../../mindy-1.x/comp/lexer.l"
- is(MINUS);
- YY_BREAK
- case 79:
- YY_USER_ACTION
- # line 159 "../../mindy-1.x/comp/lexer.l"
- is(TILDE);
- YY_BREAK
- case 80:
- YY_USER_ACTION
- # line 160 "../../mindy-1.x/comp/lexer.l"
- is(EQUAL);
- YY_BREAK
- case 81:
- YY_USER_ACTION
- # line 161 "../../mindy-1.x/comp/lexer.l"
- is(EQUAL_EQUAL);
- YY_BREAK
- case 82:
- YY_USER_ACTION
- # line 162 "../../mindy-1.x/comp/lexer.l"
- is(ARROW);
- YY_BREAK
- case 83:
- YY_USER_ACTION
- # line 163 "../../mindy-1.x/comp/lexer.l"
- is(SHARP_PAREN);
- YY_BREAK
- case 84:
- YY_USER_ACTION
- # line 164 "../../mindy-1.x/comp/lexer.l"
- is(SHARP_BRACKET);
- YY_BREAK
- case 85:
- YY_USER_ACTION
- # line 165 "../../mindy-1.x/comp/lexer.l"
- is(SHARP_T);
- YY_BREAK
- case 86:
- YY_USER_ACTION
- # line 166 "../../mindy-1.x/comp/lexer.l"
- is(SHARP_F);
- YY_BREAK
- case 87:
- YY_USER_ACTION
- # line 167 "../../mindy-1.x/comp/lexer.l"
- is(NEXT);
- YY_BREAK
- case 88:
- YY_USER_ACTION
- # line 168 "../../mindy-1.x/comp/lexer.l"
- is(REST);
- YY_BREAK
- case 89:
- YY_USER_ACTION
- # line 169 "../../mindy-1.x/comp/lexer.l"
- is(KEY);
- YY_BREAK
- case 90:
- YY_USER_ACTION
- # line 170 "../../mindy-1.x/comp/lexer.l"
- is(ALL_KEYS);
- YY_BREAK
- case 91:
- YY_USER_ACTION
- # line 172 "../../mindy-1.x/comp/lexer.l"
- is(INTEGER);
- YY_BREAK
- case 92:
- YY_USER_ACTION
- # line 173 "../../mindy-1.x/comp/lexer.l"
- is(INTEGER);
- YY_BREAK
- case 93:
- YY_USER_ACTION
- # line 174 "../../mindy-1.x/comp/lexer.l"
- is(INTEGER);
- YY_BREAK
- case 94:
- YY_USER_ACTION
- # line 175 "../../mindy-1.x/comp/lexer.l"
- is(INTEGER);
- YY_BREAK
- case 95:
- YY_USER_ACTION
- # line 177 "../../mindy-1.x/comp/lexer.l"
- is(FLOAT);
- YY_BREAK
- case 96:
- YY_USER_ACTION
- # line 178 "../../mindy-1.x/comp/lexer.l"
- is(FLOAT);
- YY_BREAK
- case 97:
- YY_USER_ACTION
- # line 179 "../../mindy-1.x/comp/lexer.l"
- is(FLOAT);
- YY_BREAK
- case 98:
- YY_USER_ACTION
- # line 181 "../../mindy-1.x/comp/lexer.l"
- is(CHARACTER);
- YY_BREAK
- case 99:
- YY_USER_ACTION
- # line 182 "../../mindy-1.x/comp/lexer.l"
- is(CHARACTER);
- YY_BREAK
- case 100:
- YY_USER_ACTION
- # line 184 "../../mindy-1.x/comp/lexer.l"
- is(STRING);
- YY_BREAK
- case 101:
- YY_USER_ACTION
- # line 186 "../../mindy-1.x/comp/lexer.l"
- is(BINARY_OPERATOR);
- YY_BREAK
- case 102:
- YY_USER_ACTION
- # line 187 "../../mindy-1.x/comp/lexer.l"
- is(SYMBOL);
- YY_BREAK
- case 103:
- YY_USER_ACTION
- # line 188 "../../mindy-1.x/comp/lexer.l"
- is(SYMBOL);
- YY_BREAK
- case 104:
- YY_USER_ACTION
- # line 189 "../../mindy-1.x/comp/lexer.l"
- is(KEYWORD);
- YY_BREAK
- case 105:
- YY_USER_ACTION
- # line 190 "../../mindy-1.x/comp/lexer.l"
- is(SYMBOL_LITERAL);
- YY_BREAK
- case 106:
- YY_USER_ACTION
- # line 192 "../../mindy-1.x/comp/lexer.l"
- is(BOGUS);
- YY_BREAK
- case 107:
- YY_USER_ACTION
- # line 194 "../../mindy-1.x/comp/lexer.l"
- ECHO;
- YY_BREAK
- case YY_STATE_EOF(INITIAL):
- case YY_STATE_EOF(ini):
- case YY_STATE_EOF(key):
- case YY_STATE_EOF(val):
- case YY_STATE_EOF(etc):
- yyterminate();
-
- case YY_END_OF_BUFFER:
- {
- /* Amount of text matched not including the EOB char. */
- int yy_amount_of_matched_text = yy_cp - yytext_ptr - 1;
-
- /* Undo the effects of YY_DO_BEFORE_ACTION. */
- *yy_cp = yy_hold_char;
-
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
- {
- /* We're scanning a new file or input source. It's
- * possible that this happened because the user
- * just pointed yyin at a new source and called
- * yylex(). If so, then we have to assure
- * consistency between yy_current_buffer and our
- * globals. Here is the right place to do so, because
- * this is the first action (other than possibly a
- * back-up) that will match for the new input source.
- */
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yy_current_buffer->yy_input_file = yyin;
- yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
- }
-
- /* Note that here we test for yy_c_buf_p "<=" to the position
- * of the first EOB in the buffer, since yy_c_buf_p will
- * already have been incremented past the NUL character
- * (since all states make transitions on EOB to the
- * end-of-buffer state). Contrast this with the test
- * in input().
- */
- if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- { /* This was really a NUL. */
- yy_state_type yy_next_state;
-
- yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- /* Okay, we're now positioned to make the NUL
- * transition. We couldn't have
- * yy_get_previous_state() go ahead and do it
- * for us because it doesn't know how to deal
- * with the possibility of jamming (and we don't
- * want to build jamming into it because then it
- * will run more slowly).
- */
-
- yy_next_state = yy_try_NUL_trans( yy_current_state );
-
- yy_bp = yytext_ptr + YY_MORE_ADJ;
-
- if ( yy_next_state )
- {
- /* Consume the NUL. */
- yy_cp = ++yy_c_buf_p;
- yy_current_state = yy_next_state;
- goto yy_match;
- }
-
- else
- {
- yy_cp = yy_c_buf_p;
- goto yy_find_action;
- }
- }
-
- else switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_END_OF_FILE:
- {
- yy_did_buffer_switch_on_eof = 0;
-
- if ( yywrap() )
- {
- /* Note: because we've taken care in
- * yy_get_next_buffer() to have set up
- * yytext, we can now set up
- * yy_c_buf_p so that if some total
- * hoser (like flex itself) wants to
- * call the scanner after we return the
- * YY_NULL, it'll still work - another
- * YY_NULL will get returned.
- */
- yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
- yy_act = YY_STATE_EOF(YY_START);
- goto do_action;
- }
-
- else
- {
- if ( ! yy_did_buffer_switch_on_eof )
- YY_NEW_FILE;
- }
- break;
- }
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p =
- yytext_ptr + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
- goto yy_match;
-
- case EOB_ACT_LAST_MATCH:
- yy_c_buf_p =
- &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
- goto yy_find_action;
- }
- break;
- }
-
- default:
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--no action found" );
- } /* end of action switch */
- } /* end of scanning one token */
- } /* end of yylex */
-
-
- /* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- * EOB_ACT_LAST_MATCH -
- * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- * EOB_ACT_END_OF_FILE - end of file
- */
-
- static int yy_get_next_buffer()
- {
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr - 1; /* copy prev. char, too */
- register int number_to_move, i;
- int ret_val;
-
- if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--end of buffer missed" );
-
- if ( yy_current_buffer->yy_fill_buffer == 0 )
- { /* Don't try to fill the buffer, so this is an EOF. */
- if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
- {
- /* We matched a singled characater, the EOB, so
- * treat this as a final EOF.
- */
- return EOB_ACT_END_OF_FILE;
- }
-
- else
- {
- /* We matched some text prior to the EOB, first
- * process it.
- */
- return EOB_ACT_LAST_MATCH;
- }
- }
-
- /* Try to read more data. */
-
- /* First move last chars to start of buffer. */
- number_to_move = yy_c_buf_p - yytext_ptr;
-
- for ( i = 0; i < number_to_move; ++i )
- *(dest++) = *(source++);
-
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
- /* don't do the read, it's not guaranteed to return an EOF,
- * just force an EOF
- */
- yy_n_chars = 0;
-
- else
- {
- int num_to_read =
- yy_current_buffer->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
- { /* Not enough room in the buffer - grow it. */
- #ifdef YY_USES_REJECT
- YY_FATAL_ERROR(
- "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
- #else
-
- /* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = yy_current_buffer;
-
- int yy_c_buf_p_offset = yy_c_buf_p - b->yy_ch_buf;
-
- b->yy_buf_size *= 2;
- b->yy_ch_buf = (char *)
- yy_flex_realloc( (void *) b->yy_ch_buf,
- b->yy_buf_size );
-
- if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR(
- "fatal error - scanner input buffer overflow" );
-
- yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
- num_to_read = yy_current_buffer->yy_buf_size -
- number_to_move - 1;
- #endif
- }
-
- if ( num_to_read > YY_READ_BUF_SIZE )
- num_to_read = YY_READ_BUF_SIZE;
-
- /* Read in more data. */
- YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
- yy_n_chars, num_to_read );
- }
-
- if ( yy_n_chars == 0 )
- {
- if ( number_to_move - YY_MORE_ADJ == 1 )
- {
- ret_val = EOB_ACT_END_OF_FILE;
- yyrestart( yyin );
- }
-
- else
- {
- ret_val = EOB_ACT_LAST_MATCH;
- yy_current_buffer->yy_buffer_status =
- YY_BUFFER_EOF_PENDING;
- }
- }
-
- else
- ret_val = EOB_ACT_CONTINUE_SCAN;
-
- yy_n_chars += number_to_move;
- yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
- yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
- /* yytext begins at the second character in yy_ch_buf; the first
- * character is the one which preceded it before reading in the latest
- * buffer; it needs to be kept around in case it's a newline, so
- * yy_get_previous_state() will have with '^' rules active.
- */
-
- yytext_ptr = &yy_current_buffer->yy_ch_buf[1];
-
- return ret_val;
- }
-
-
- /* yy_get_previous_state - get the state just before the EOB char was reached */
-
- static yy_state_type yy_get_previous_state()
- {
- register yy_state_type yy_current_state;
- register char *yy_cp;
-
- register char *yy_bp = yytext_ptr;
-
- yy_current_state = yy_start;
- if ( yy_bp[-1] == '\n' )
- ++yy_current_state;
-
- for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
- {
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 414 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- }
-
- return yy_current_state;
- }
-
-
- /* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- * next_state = yy_try_NUL_trans( current_state );
- */
-
- #ifdef YY_USE_PROTOS
- static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
- #else
- static yy_state_type yy_try_NUL_trans( yy_current_state )
- yy_state_type yy_current_state;
- #endif
- {
- register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
-
- register YY_CHAR yy_c = 1;
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 414 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 413);
-
- return yy_is_jam ? 0 : yy_current_state;
- }
-
-
- #ifdef YY_USE_PROTOS
- static void yyunput( int c, register char *yy_bp )
- #else
- static void yyunput( c, yy_bp )
- int c;
- register char *yy_bp;
- #endif
- {
- register char *yy_cp = yy_c_buf_p;
-
- /* undo effects of setting up yytext */
- *yy_cp = yy_hold_char;
-
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
- { /* need to shift things up to make room */
- /* +2 for EOB chars. */
- register int number_to_move = yy_n_chars + 2;
- register char *dest = &yy_current_buffer->yy_ch_buf[
- yy_current_buffer->yy_buf_size + 2];
- register char *source =
- &yy_current_buffer->yy_ch_buf[number_to_move];
-
- while ( source > yy_current_buffer->yy_ch_buf )
- *--dest = *--source;
-
- yy_cp += dest - source;
- yy_bp += dest - source;
- yy_n_chars = yy_current_buffer->yy_buf_size;
-
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
- YY_FATAL_ERROR( "flex scanner push-back overflow" );
- }
-
- if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
- yy_cp[-2] = '\n';
-
- *--yy_cp = (char) c;
-
-
- /* Note: the formal parameter *must* be called "yy_bp" for this
- * macro to now work correctly.
- */
- YY_DO_BEFORE_ACTION; /* set up yytext again */
- }
-
-
- #ifdef __cplusplus
- static int yyinput()
- #else
- static int input()
- #endif
- {
- int c;
-
- *yy_c_buf_p = yy_hold_char;
-
- if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
- {
- /* yy_c_buf_p now points to the character we want to return.
- * If this occurs *before* the EOB characters, then it's a
- * valid NUL; if not, then we've hit the end of the buffer.
- */
- if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- /* This was really a NUL. */
- *yy_c_buf_p = '\0';
-
- else
- { /* need more input */
- yytext_ptr = yy_c_buf_p;
- ++yy_c_buf_p;
-
- switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_END_OF_FILE:
- {
- if ( yywrap() )
- {
- yy_c_buf_p =
- yytext_ptr + YY_MORE_ADJ;
- return EOF;
- }
-
- YY_NEW_FILE;
- #ifdef __cplusplus
- return yyinput();
- #else
- return input();
- #endif
- }
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
- break;
-
- case EOB_ACT_LAST_MATCH:
- #ifdef __cplusplus
- YY_FATAL_ERROR(
- "unexpected last match in yyinput()" );
- #else
- YY_FATAL_ERROR(
- "unexpected last match in input()" );
- #endif
- }
- }
- }
-
- c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
- *yy_c_buf_p = '\0'; /* preserve yytext */
- yy_hold_char = *++yy_c_buf_p;
-
- return c;
- }
-
-
- #ifdef YY_USE_PROTOS
- void yyrestart( FILE *input_file )
- #else
- void yyrestart( input_file )
- FILE *input_file;
- #endif
- {
- if ( ! yy_current_buffer )
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
- yy_init_buffer( yy_current_buffer, input_file );
- yy_load_buffer_state();
- }
-
-
- #ifdef YY_USE_PROTOS
- void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
- #else
- void yy_switch_to_buffer( new_buffer )
- YY_BUFFER_STATE new_buffer;
- #endif
- {
- if ( yy_current_buffer == new_buffer )
- return;
-
- if ( yy_current_buffer )
- {
- /* Flush out information for old buffer. */
- *yy_c_buf_p = yy_hold_char;
- yy_current_buffer->yy_buf_pos = yy_c_buf_p;
- yy_current_buffer->yy_n_chars = yy_n_chars;
- }
-
- yy_current_buffer = new_buffer;
- yy_load_buffer_state();
-
- /* We don't actually know whether we did this switch during
- * EOF (yywrap()) processing, but the only time this flag
- * is looked at is after yywrap() is called, so it's safe
- * to go ahead and always set it.
- */
- yy_did_buffer_switch_on_eof = 1;
- }
-
-
- #ifdef YY_USE_PROTOS
- void yy_load_buffer_state( void )
- #else
- void yy_load_buffer_state()
- #endif
- {
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
- yyin = yy_current_buffer->yy_input_file;
- yy_hold_char = *yy_c_buf_p;
- }
-
-
- #ifdef YY_USE_PROTOS
- YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
- #else
- YY_BUFFER_STATE yy_create_buffer( file, size )
- FILE *file;
- int size;
- #endif
- {
- YY_BUFFER_STATE b;
-
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-
- if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- b->yy_buf_size = size;
-
- /* yy_ch_buf has to be 2 characters longer than the size given because
- * we need to put in 2 end-of-buffer characters.
- */
- b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-
- if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- yy_init_buffer( b, file );
-
- return b;
- }
-
-
- #ifdef YY_USE_PROTOS
- void yy_delete_buffer( YY_BUFFER_STATE b )
- #else
- void yy_delete_buffer( b )
- YY_BUFFER_STATE b;
- #endif
- {
- if ( b == yy_current_buffer )
- yy_current_buffer = (YY_BUFFER_STATE) 0;
-
- yy_flex_free( (void *) b->yy_ch_buf );
- yy_flex_free( (void *) b );
- }
-
-
- #ifdef YY_USE_PROTOS
- void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
- #else
- void yy_init_buffer( b, file )
- YY_BUFFER_STATE b;
- FILE *file;
- #endif
- {
- b->yy_input_file = file;
-
- /* We put in the '\n' and start reading from [1] so that an
- * initial match-at-newline will be true.
- */
-
- b->yy_ch_buf[0] = '\n';
- b->yy_n_chars = 1;
-
- /* We always need two end-of-buffer characters. The first causes
- * a transition to the end-of-buffer state. The second causes
- * a jam in that state.
- */
- b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
- b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
-
- b->yy_buf_pos = &b->yy_ch_buf[1];
-
- b->yy_is_interactive = file ? isatty( fileno(file) ) : 0;
-
- b->yy_fill_buffer = 1;
-
- b->yy_buffer_status = YY_BUFFER_NEW;
- }
-
-
- #ifdef YY_USE_PROTOS
- static void yy_push_state( int new_state )
- #else
- static void yy_push_state( new_state )
- int new_state;
- #endif
- {
- if ( yy_start_stack_ptr >= yy_start_stack_depth )
- {
- int new_size;
-
- yy_start_stack_depth += YY_START_STACK_INCR;
- new_size = yy_start_stack_depth * sizeof( int );
-
- if ( ! yy_start_stack )
- yy_start_stack = (int *) yy_flex_alloc( new_size );
-
- else
- yy_start_stack = (int *) yy_flex_realloc(
- (void *) yy_start_stack, new_size );
-
- if ( ! yy_start_stack )
- YY_FATAL_ERROR(
- "out of memory expanding start-condition stack" );
- }
-
- yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
- BEGIN(new_state);
- }
-
-
- static void yy_pop_state()
- {
- if ( --yy_start_stack_ptr < 0 )
- YY_FATAL_ERROR( "start-condition stack underflow" );
-
- BEGIN(yy_start_stack[yy_start_stack_ptr]);
- }
-
-
- static int yy_top_state()
- {
- return yy_start_stack[yy_start_stack_ptr - 1];
- }
-
-
- #ifdef YY_USE_PROTOS
- static void yy_fatal_error( const char msg[] )
- #else
- static void yy_fatal_error( msg )
- char msg[];
- #endif
- {
- (void) fprintf( stderr, "%s\n", msg );
- exit( 1 );
- }
-
-
-
- /* Redefine yyless() so it works in section 3 code. */
-
- #undef yyless
- #define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- yytext[yyleng] = yy_hold_char; \
- yy_c_buf_p = yytext + n - YY_MORE_ADJ; \
- yy_hold_char = *yy_c_buf_p; \
- *yy_c_buf_p = '\0'; \
- yyleng = n; \
- } \
- while ( 0 )
-
-
- /* Internal utility routines. */
-
- #ifndef yytext_ptr
- #ifdef YY_USE_PROTOS
- static void yy_flex_strncpy( char *s1, const char *s2, int n )
- #else
- static void yy_flex_strncpy( s1, s2, n )
- char *s1;
- const char *s2;
- int n;
- #endif
- {
- register int i;
- for ( i = 0; i < n; ++i )
- s1[i] = s2[i];
- }
- #endif
-
-
- #ifdef YY_USE_PROTOS
- static void *yy_flex_alloc( unsigned int size )
- #else
- static void *yy_flex_alloc( size )
- unsigned int size;
- #endif
- {
- return (void *) malloc( size );
- }
-
- #ifdef YY_USE_PROTOS
- static void *yy_flex_realloc( void *ptr, unsigned int size )
- #else
- static void *yy_flex_realloc( ptr, size )
- void *ptr;
- unsigned int size;
- #endif
- {
- return (void *) realloc( ptr, size );
- }
-
- #ifdef YY_USE_PROTOS
- static void yy_flex_free( void *ptr )
- #else
- static void yy_flex_free( ptr )
- void *ptr;
- #endif
- {
- free( ptr );
- }
- # line 194 "../../mindy-1.x/comp/lexer.l"
-
-
- static void skip_multi_line_comment(void)
- {
- int depth = 1;
- int c, prev = '\0';
-
- while (1) {
- c = input();
- switch (c) {
- case EOF:
- return;
- case '\n':
- line_count++;
- prev = c;
- break;
- case '/':
- if (prev == '*')
- if (--depth == 0)
- return;
- else
- prev = 0;
- else
- prev = c;
- break;
- case '*':
- if (prev == '/') {
- depth++;
- prev = 0;
- }
- else
- prev = c;
- break;
- default:
- prev = c;
- break;
- }
- }
- }
-
- static int make_header_key()
- {
- yylval.token = make_token(yytext, yyleng-1);
- return HEADER_KEY;
- }
- static int make_header_val()
- {
- char *p1, *p2;
- int skipped = 0;
-
- for (p1 = p2 = yytext; p1 < yytext + yyleng; ) {
- /* skip initial spaces */
- while (p1 < yytext + yyleng && (*p1 == ' ' || *p1 == '\t')) {
- p1 += 1;
- skipped += 1;
- }
- /* copy to end of line */
- while (p1 < yytext + yyleng && *p1 != '\n') {
- *p2++ = *p1++;
- }
- /* copy and count newline */
- *p2++ = *p1++;
- line_count += 1;
- }
- /* make the token, dropping the last newline */
- yylval.token = make_token(yytext, yyleng - skipped - 1);
- return HEADER_VAL;
- }
- static int make_header_end()
- {
- line_count += 1;
- yylval.token = yylval.token = make_token(yytext, yyleng);
- return HEADER_END;
- }
-
- int yywrap() { return 1; }
-